package no.netlight.gotogate;

import java.util.ArrayList;

/**
 * Contains all data sets for a flight, including airports and airline
 * @author Mats Ormehaug
 * @see Airport
 * @see Airline
 */
public class Flight {

	private String uniqueId;
	private String flightId = null;
	private String domesticOrInternational;
	private String scheduleDate;
	private String scheduleTime;
	private String arriveOrDeparture;
	private Airline airline;
	private Airport departureAirport;
	private Airport destinationAirport;
	private ArrayList<Airport> viaAirport;
	private String checkInDesk;
	private String gate;
	private String statusCode;
	private String statusTextEnglish;
	private String statusTextNorwegian;
	private String statusDate;
	private String statusTime;
	private String beltNumber;

	/**
	 * Class constructor
	 */
	public Flight() {

	}

	public String getStatusDate() {
		return statusDate;
	}

	public void setStatusDate(String statusDate) {
		this.statusDate = statusDate;
	}

	public void setUniqueId(String uniqueId) {
		this.uniqueId = uniqueId;
	}

	public void setAirline(Airline airline) {
		this.airline = airline;
	}

	public void setFlightId(String flightId) {
		this.flightId = flightId;
	}

	public void setScheduleTime(String scheduleTime) {
		this.scheduleTime = scheduleTime;
	}

	public void setDepartureAirport(Airport departureAirport) {
		this.departureAirport = departureAirport;
	}

	public void setDestinationAirport(Airport destinationAirport) {
		this.destinationAirport = destinationAirport;
	}

	public void setGate(String gate) {
		this.gate = gate;
	}

	public void setCheckInDesk(String checkInDesk) {
		this.checkInDesk = checkInDesk;
	}

	public void setStatusCode(String statusCode) {
		this.statusCode = statusCode;
	}

	public String getUniqueId() {
		return uniqueId;
	}

	public String getFlightId() {
		return flightId;
	}

	public Airline getAirline() {
		return airline;
	}

	public String getScheduleTime() {
		return scheduleTime;
	}

	public Airport getDepartureAirport() {
		return departureAirport;
	}

	public Airport getDestinationAirport() {
		return destinationAirport;
	}

	public String getGate() {
		return gate;
	}

	public String getCheckInDesk() {
		return checkInDesk;
	}

	public String getStatusCode() {
		return statusCode;
	}

	public String getDomesticOrInternational() {
		return domesticOrInternational;
	}

	public void setDomesticOrInternational(String domesticOrInternational) {
		this.domesticOrInternational = domesticOrInternational;
	}

	public String getArriveOrDeparture() {
		return arriveOrDeparture;
	}

	public void setArriveOrDeparture(String arriveOrDeparture) {
		this.arriveOrDeparture = arriveOrDeparture;
	}

	public String getStatusTime() {
		return statusTime;
	}

	public void setStatusTime(String statusTime) {
		this.statusTime = statusTime;
	}

	public String getBeltNumber() {
		return beltNumber;
	}

	public void setBeltNumber(String beltNumber) {
		this.beltNumber = beltNumber;
	}

	public String getStatusTextEnglish() {
		return statusTextEnglish;
	}

	public void setStatusTextEnglish(String statusTextEnglish) {
		this.statusTextEnglish = statusTextEnglish;
	}

	public String getStatusTextNorwegian() {
		return statusTextNorwegian;
	}

	public void setStatusTextNorwegian(String statusTextNorwegian) {
		this.statusTextNorwegian = statusTextNorwegian;
	}

	public String getScheduleDate() {
		return scheduleDate;
	}

	public void setScheduleDate(String scheduleDate) {
		this.scheduleDate = scheduleDate;
	}

	public void setViaAirport(ArrayList<Airport> viaAirport) {
		this.viaAirport = viaAirport;
	}

	public ArrayList<Airport> getViaAirport() {
		return viaAirport;
	}

	@Override
	public String toString() {
		return "Flight [airline=" + airline + ", arriveOrDeparture="
				+ arriveOrDeparture + ", beltNumber=" + beltNumber
				+ ", checkInDesk=" + checkInDesk + ", departureAirport="
				+ departureAirport + ", destinationAirport="
				+ destinationAirport + ", domesticOrInternational="
				+ domesticOrInternational + ", flightId=" + flightId
				+ ", gate=" + gate + ", scheduleDate=" + scheduleDate
				+ ", scheduleTime=" + scheduleTime + ", statusCode="
				+ statusCode + ", statusDate=" + statusDate
				+ ", statusTextEnglish=" + statusTextEnglish
				+ ", statusTextNorwegian=" + statusTextNorwegian
				+ ", statusTime=" + statusTime + ", uniqueId=" + uniqueId
				+ ", viaAirport=" + viaAirport + "]";
	}

}
